import Vue from 'vue'
import App from './App.vue'
import router from './router'

//引入样式文件
import '@/css/global.css'
import 'element-ui/lib/theme-chalk/index.css'

import ElementUI,{Message} from 'element-ui'

Vue.use(ElementUI)
Vue.use(Message.name,Message)

import axios from 'axios'
axios.defaults.baseURL="http://localhost:8089"


//定义一个前端的拦截器，配置每次发送请求时，都带上token
//添加请求拦截器
axios.interceptors.request.use(function (config){
  //1、得到token
  let token = sessionStorage.getItem("token")
  //2、把token带后端去
  console.log("拦截器里的token---->" + token);
  if (token){
    //如果有token则设置到头里面
    config.headers['token'] = token;
  }
  
  return config;
},function (error){
  //对请求错误做些什么
  return Promise.reject(error);
})


// 设置响应拦截器
axios.interceptors.response.use( function (response) {
  if (response.data.code == 501 || response.data.code == 502) {
    console.log("---test----") // 判断token解析错误的两种情况
    vue.$router.push("/"); // 返回登录页面（首页）
  }
  // 对响应数据做点什么
  if (response.data.code != 200) {
    Message({
      type: "error",
      message: response.data.message,
      duration: 1000
    });
  }
  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});


Vue.prototype.$axios = axios; // 把axios绑定到vue的原型
Vue.config.productionTip = false;
let vue= new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
